home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Mousetools / MachV / fixes.doc next >
Text File  |  1996-09-26  |  14KB  |  355 lines

  1. Fixes and Features for release 5.0 version 37.9 -
  2.  
  3. * IMPORTANT FOR AREXX USERS *
  4.  
  5. The ARexx port for MachV has been renamed. It is now MACHV_REXX. The
  6. port MACHV is still there, it just will not accept ARexx commands.
  7. It shouldn't be difficult to edit your ARexx programs using splat, sed
  8. or even edit. With edit you can enter:
  9.  
  10. edit rexx:program
  11. ge /MACHV/MACHV_REXX/
  12. w
  13.  
  14. (This was done in order to implement a complete ARexx interface.)
  15. =======================================================================
  16. 11-13-93
  17.  
  18. Added 3rd argument to PutMsg_ARexx. If supplied, the message to
  19. the ARexx port will request a result and use that argument as the
  20. name of an environment variable to store it. e.g.
  21.  
  22. PutMsg_ARexx"EMACS1,(file-name-directory default-directory),edir"
  23.  
  24. This will make gnuemacs return the default directory and MachV will
  25. store it in the variable edir (local or global, depending on the
  26. variable setting in "Miscellaneous Features").
  27.  
  28. The following macro (all one line) will add a file requester to
  29. gnuemacs:
  30.  
  31.   PutMsg_ARexx"EMACS1,(file-name-directory default-directory),edir"
  32.   exe_cmd"setenv efile `c:requestfile drawer $edir noicons`"
  33.   PutMsg_ARexx"EMACS1,(find-file \"${efile}\")"
  34.  
  35. This next macro would enable you to replace TurboText's requester
  36. with the requester in the asl.library:
  37.  
  38.   putmsg_arexx"TURBOTEXT,GetCurrentDir,tdir"
  39.   exe_cmd"setenv tfile `c:requestfile drawer ${tdir} pubscreen
  40.   TURBOTEXT noicons`"
  41.   putmsg_arexx"TURBOTEXT,OpenDoc NAME ${tfile}"
  42.  
  43. =======================================================================
  44. 11-17-93
  45.  
  46. Some work done on the clipboard viewer. Smaller, more reliable.
  47.  
  48. =======================================================================
  49. 11-19-93
  50.  
  51. Fixed Window Cycling somewhat. The right button down is now converted
  52. to a left button up. This helps some programs that really expect
  53. (demand) the left button up to come sometime. It also speeds up
  54. Workbench window cycling.
  55.  
  56. =======================================================================
  57. 11-27-93
  58.  
  59. In order to prevent the accidental running of SetMachV from the
  60. clock, you must first click the left button on the clock then press
  61. the right button. This was done because the clock sometimes becomes
  62. the active window after another window closes. Then when trying to
  63. access a menu, SetMachV gets run. If the clock gets moved when you
  64. click on it, it will return to its proper position.
  65. -----------
  66.  
  67.  
  68. Exe_Cmd"program,screen" was broken. The screen would be brought to
  69. the front, but the program would also run.
  70.  
  71. =======================================================================
  72. 11-28-93
  73.  
  74. 2 new functions: exe_arexx_command and exe_arexx_string. (These
  75. were going to wait for 5.1, but, ah well...they seem to work fine
  76. and are really useful.)
  77.  
  78. 1. exe_arexx_command"filename,env_var_for_result"
  79.  
  80.   This function eliminates the need for "rx" or "run rx" and also
  81.   allows scripts with just MachV macros without "address MACHV".
  82.   (Actually, the port in all ARexx scripts must be renamed to
  83.   MACHV_REXX.)
  84.  
  85.   The default filename extension is .mach.
  86.  
  87.   If your ARexx program or script ends with a "return value", that will
  88.   be set to the environment variable that is specified as the 2nd
  89.   argument. If you had this program named rexx:test.mach -
  90.  
  91.   ---------------------------------------------------------------------
  92.   /* Return an answer to MachV which will set an env variable. */
  93.  
  94.     parse arg arg1
  95.  
  96.     a=2
  97.     return a*arg1
  98.   ---------------------------------------------------------------------
  99.  
  100.   and you executed this macro:
  101.  
  102.     exe_arexx_command"test 5,answer"
  103.  
  104.   the env variable "answer" will be set to 10. The passed argument
  105.   could also have been a variable:
  106.  
  107.     exe_arexx_command"test ${count},answer"
  108.  
  109. 2. exe_arexx_string"tiny_program,env_var_for_result"
  110.  
  111.   This allows you to execute arexx functions directly. A trivial
  112.   example:
  113.  
  114.    arexx_string"return time(hours),results"
  115.  
  116.   The env variable "results" would get set to hours past midnight.
  117.  
  118.   You could insert text that is self-incrementing with this:
  119.  
  120.     arexx_string"return ${count}+1,count" "${count}"
  121.  
  122.   This has ARexx increment the variable count, and then the results
  123.   are sent as keystrokes.
  124.  
  125. =======================================================================
  126. 12-03-93
  127.  
  128. Fixed Quick Edit window to open in the center of your display no
  129. matter where on a virtual screen you are.
  130.  
  131. =======================================================================
  132. 12-13-93
  133. Version 37.5.
  134.  
  135. Added the gadget "Select Title" in SetMachV. This replaces AllTitles and
  136. AllTasks. It makes it easy to determine the correct title to use.
  137. -----------
  138.  
  139. Fixed Mac_Macros and Msc_Suspend to work no matter what key they are on.
  140. =======================================================================
  141. 12-17-93
  142.  
  143. Fixed broken recursion. Recursive macros would not execute.
  144.  
  145. Environment variable machv_recursion_depth is used to limit macro
  146. recursion. This defaults to 10, but you may set it to any value. This
  147. variable is either global or local, depending on your setting in the
  148. Miscellaneous Features.
  149.  
  150. =======================================================================
  151. 12-21-93
  152.  
  153. Fixed Clipboard "Print". Would sometimes cause a "ClipViewer Failure".
  154. While I was at it, I added error requesters when clp_paste is trying to
  155. paste an empty or an ILBM clip.
  156.  
  157. =======================================================================
  158. 12-27-93
  159.  
  160. With "KeyActivate" selected and attempting to push the Workbench window
  161. back using mouse "Window Cycle", the system would lock up. This is fixed.
  162. =======================================================================
  163. 01-03-94
  164.  
  165. Added ability to copy to and from files and environment variables to the
  166. clipboard using the CLP_TRANSFER function. See MachV.guide.
  167. =======================================================================
  168. 01-10-94
  169.  
  170. Added the gadgets "Load" and "Save" to the clipboard viewer. Fixed
  171. gadget layout to be usable on a lores screen. See MachV.guide.
  172. -----------
  173.  
  174. Added the new function MSC_CONFIRM"Message". It puts up an Okay/Cancel
  175. requester with your message. If Cancel is selected, the macro will be
  176. aborted. Example:
  177.  
  178. Confirm"Do You Really Want To Delete All Files?" Exe_Cmd"delete ram:#?"
  179. =======================================================================
  180. 01-17-94
  181.  
  182. By special request, the function Msc_Gameport was added. This allows the
  183. user to execute macros from a joystick or similar device. This function
  184. turns gameport monitoring on and off. Either 4 or 8 directions may be
  185. used as well as 3 fire buttons. Macros with specific names will be
  186. executed when the joystick is moved or a button pressed. See MachV.guide
  187. for complete details.
  188. -----------
  189.  
  190. SetMachV will use your default font if it is 8x8 instead of Topaz.
  191. =======================================================================
  192. 01-25-94
  193.  
  194. Configuration saving with the clock in a "float" position would save the
  195. actual - not the relative - position. This is fixed. Don't imagine that
  196. it affected anyone but me.
  197. =======================================================================
  198. 02-07-94 
  199. Version 37.7
  200.  
  201. Added AppWindow to ClipViewer. Now you can just drop an icon into the
  202. viewer and see the file.
  203.  
  204. Added clip size to "Clipboard Unit #". Now displays:
  205. " Clipboard Unit # 0   (nnnnnn bytes)"
  206. " -----------------------------------"
  207.  
  208. Synchronizing of the clipboard unit being displayed and the unit being
  209. used in console clipping got broken. Is now fixed. Also, when the clip
  210. viewer is closed when displaying a unit other than 0, the unit used is
  211. reset to 0.
  212. =======================================================================
  213. 02-09-94 37.7 
  214.  
  215. Minor changes made to SetMachV menu layout and main window and screen
  216. titles. SetMachV will open a custom screen the same height and width as
  217. your Workbench display area. If "Title Bar" is not selected, you may
  218. move the main window, exposing the screen title bar.
  219. =======================================================================
  220. March 28, 1994
  221. Version 37.8
  222.  
  223. When QuickEdit is open, you can click on a clock gadget to make its
  224. macro appear in the QuickEdit gadget. In addition, when a macro that is
  225. attached to a gadget is displayed, the QuickEdit window expands to display
  226. two XY position string gadgets. You may move a gadget by entering its
  227. coordinates here.
  228.  
  229. You may also position a gadget from the "Flags" window.
  230. -----------
  231.  
  232. You can append a clip to a file by specifying a file name preceded with
  233. ">>" in the ClipViewer file requester. Open the ClipViewer (execute a
  234. macro with Clp_View) and click on 'Save'. Select the desired directory
  235. and enter >>filename.
  236.          _________________________
  237.   Drawer |ram:                    |
  238.          ~~~~~~~~~~~~~~~~~~~~~~~~~
  239.          _________________________
  240.     File |>>dummy                 |
  241.          ~~~~~~~~~~~~~~~~~~~~~~~~~
  242.  
  243. If the file does not exist, it will be created.
  244. This feature is in addition to saving to environment variables by 
  245. preceding the name with '$'.
  246.  
  247. =======================================================================
  248.  
  249. The function exe_arexx_string was not setting the results variable until
  250. after the macro execution completed. Fixed.
  251.  
  252. QuickEdit now correctly displays the hotkey in the title bar if it is a
  253. mouse button. Previously it displayed a 'M'.
  254.  
  255. =======================================================================
  256.  
  257. Screen blanking can occur even while blanked. This means that you can have
  258. the screen dimmed, then an auto-executing macro could change it to black.
  259.  
  260.   Exe_Auto"23:00" msc_blank"0" /* set to black during the night */
  261.  
  262.   Exe_Auto"07:00" msc_blank"3" /* and dim during the day */
  263.  
  264. A second optional argument can be used to turn splines on or off.
  265.  
  266.   Exe_Auto"23:00" msc_blank"0,off" /* black and no splines */
  267.  
  268. Both options affect your current settings.
  269.  
  270. =======================================================================
  271. Version 37.8
  272. Fixed incorrect flags in default configuration.
  273. =======================================================================
  274. Fixed inability to  move clock gadgets that were same height as clock
  275. window.
  276. =======================================================================
  277. Directory notification changed. Previously, it was only used to monitor
  278. changes to gadget imagery. Now it reloads your MachV.prefs file and
  279. updates any gadgets you may have. So if you edit your prefs file with an
  280. editor, MachV will automatically reload it when you save. MachV does not
  281. reload when saving from SetMachV or MachV (no need).
  282. =======================================================================
  283. mach.library now uses memory pools for macro and gadget allocations. This
  284. makes creating large numbers of gadgets faster and causes less memory
  285. fragmentation. MachV and SetMachV require at least version 37.8 of
  286. mach.library.
  287.  
  288. Programmer note: All macro memory allocations must go through the library
  289. calls PAlloc and PFree. For example:
  290.  
  291. struct MacroObject *mo;
  292. char mac[] = "Test macro";
  293.  
  294.     if (mo = AllocMacroObject()) {
  295.         mo->mo_Size = strlen(mac)+1
  296.         if (mo->mo_Macro = PAlloc(mo->mo_Size) {
  297.             printf("macro allocated\n" );
  298.             PFree(mo->mo_Macro,mo->mo_Size);
  299.         }
  300.         DeallocateMacroObject(mo);
  301.     }
  302. =======================================================================
  303. Blanking by executing macro required the macro to be named 'blank' instead
  304. of 'Blank' as indicated in the docs. Use 'Blank'. 
  305. =======================================================================
  306. The list window that the functions MAC_SELECT_NAMED, WIN_SELECT_WINDOW
  307. and SCR_SELECT_SCREEN open now opens under the mouse.
  308. =======================================================================
  309. If 'QuickBlank' is selected, this means that the screen will blank when
  310. the pointer does if the pointer is in the upper left corner of the screen.
  311. Additionally, if the pointer is in the upper right corner, the screen will
  312. not blank at all. This is useful when, for example, you are just monitoring
  313. a download.
  314. =======================================================================
  315. Mac_Record_Named will record to a name if supplied instead of asking for
  316. one after recording. For example, Mac_Record_Named"draw circle" will record
  317. a macro and when recording stops, an unkeyed macro object named "draw circle"
  318. will be created.
  319. =======================================================================
  320. 06-18-94
  321. A macro attached to < or > would not be read in from the MachV.prefs file.
  322. This was caused by MapANSI returning a keycode of 0x30 instead of 0x38 and
  323. 0x39. I don't know why MapANSI did this, and I don't know what happens with
  324. other keymaps. I fixed it for usa map with a kludge that tested for this
  325. situation.
  326. =======================================================================
  327. 10-15-94 37.9
  328. Password protection added. If a password is entered in the "Pasword" gadget
  329. in the Miscellaneous Features window of SetMachV, MachV will require that
  330. password before unblanking the screen. If the screen is merely dimmed, you
  331. will not be prompted for the password. Just type it in and press Return.
  332.  
  333. If you forget your password, your only recourse is Ctrl-Amiga-Amiga!
  334.  
  335. The password may also be set with the macro function SET_PASSWORD"password".
  336. =======================================================================
  337. 10-22-94
  338. win_activate_next can accept one argument - an AmigaDos wild card pattern.
  339. The function will use this to exclude or include titles. For example:
  340.  
  341. win_activate_next"~(MachV#?)"  will exclude any window with a title
  342. beginning with 'MachV'.
  343.  
  344. win_activate_next"~(Csh#?|Workbench#?)"  will exclude any window with a
  345. title beginning with 'Csh' or 'Workbench'.
  346.  
  347. win_activate_next"(GNU#?|Csh#?|Workb#?)"  will INCLUDE any window with a
  348. title beginning with 'GNU', 'Csh' or 'Workb'.
  349.  
  350. Note: A window with no title pointer (w->Title == NULL) will match no matter
  351. what your pattern is.
  352.  
  353. =======================================================================
  354. end
  355.